/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package br.com.felinelayer.client;

import br.com.felinelayer.client.clientSwing.LabelClient;
import br.com.felinelayer.common.Message;

/**
 *
 * @author Vanius Roberto Bittencourt
 */
public interface IComponentClient<T extends IComponentClient> {

    public T setLeft( int left );

    public T setTop( int top );

    public T setWidht( int width );

    public T setHeight( int height );

    public T setText( String text );

    public T setVisible( boolean visible );

    public String getText();

    public T setId( int id );

    public Object getObject();

    public void changeProperty( Message message );

    public void setClient( Client client );

    public void messageReceived( Message message );

    public void destroy();

    public void initialize();
    
    public int getLeft();
    
    public int getTop();
    
    public int getHeight();
    
    public int getWidth();
    
    public String getDimStr();
    
    public T setHint( String text );

    public void setLabelAnchorLeft( LabelClient label );

    public void setLabelAnchorTop( LabelClient label );

    public IFrameClient getFrame();
    
    public void setFrame(IFrameClient frame);
    
    public int getId();
}
